public class PlayerStats : CharacterStats
{
    private Player player;

    public Stat maxEnergy_1;
    public Stat maxEnergy_2;

    public float currentEnergy_1;
    public float currentEnergy_2;

    public System.Action onEnergy_1Changed;
    public System.Action onEnergy_2Changed;

    protected override void Start()
    {
        base.Start();

        player = GetComponent<Player>();
    }

    #region HP And Damage Function  

    protected override void Die()
    {
        base.Die();

        player.Die();
    }
    #endregion

    #region EnergyFunction

    public void GetEnergy()
    {
        float modifer = player.currentWeapon.energyGetValue.GetValue();
        EnergyType energyType = player.currentWeapon.EnergyType;

        if (energyType == EnergyType.Energy_1)
            UpdateEnergy_1(modifer);
        if (energyType == EnergyType.Energy_2)
            UpdateEnergy_2(modifer);
    }

    public void UpdateEnergy_1(float modifer)
    {
        currentEnergy_1 += modifer;

        if (onEnergy_1Changed != null)
            onEnergy_1Changed();
    }

    public void UpdateEnergy_2(float modifer)
    {
        currentEnergy_2 += modifer;

        if (onEnergy_2Changed != null)
            onEnergy_2Changed();
    }

    #endregion
}
